package com.xxx.video.mine.adapters;

import android.content.Context;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;

import androidx.annotation.NonNull;

import com.bumptech.glide.Glide;
import com.bumptech.glide.load.resource.bitmap.CenterCrop;
import com.bumptech.glide.load.resource.bitmap.RoundedCorners;
import com.bumptech.glide.request.RequestOptions;
import com.xxx.video.R;
import com.xxx.video.commen.adapters.BaseRecycleViewAdapter;
import com.xxx.video.commen.adapters.BaseViewHolder;
import com.xxx.video.commen.utils.CountUtils;
import com.xxx.video.commen.utils.DimensionUtil;
import com.xxx.video.commen.utils.DownloadUtils;
import com.xxx.video.commen.utils.ResourcesUtils;
import com.xxx.video.commen.utils.StringUtils;
import com.xxx.video.mine.beans.LikeRecordBean;

import butterknife.BindView;

public class LikeRecordListAdapter extends BaseRecycleViewAdapter<LikeRecordBean.PageBean.ListBean, LikeRecordListAdapter.MyHolder> {

    public LikeRecordListAdapter(@NonNull Context context) {
        super(context);
    }

    @Override
    public MyHolder onCreateDefaultViewHolder(View view, int viewType) {
        return new MyHolder(view);
    }

    @Override
    public int getItemLayout(int viewType) {
        return R.layout.item_like_record_list;
    }

    class MyHolder extends BaseViewHolder {

        @BindView(R.id.iv_item_like_record_cover)
        ImageView ivItemLikeRecordCover;
        @BindView(R.id.tv_item_like_record_title)
        TextView tvItemLikeRecordTitle;
        @BindView(R.id.tv_item_like_record_look)
        TextView tvItemLikeRecordLook;
        @BindView(R.id.tv_item_like_record_comment)
        TextView tvItemLikeRecordComment;
        @BindView(R.id.tv_item_like_record_download_count)
        TextView tvItemLikeRecordDownloadCount;
        @BindView(R.id.tv_item_like_record_time)
        TextView tvItemLikeRecordTime;

        public MyHolder(View itemView) {
            super(itemView);
        }

        @Override
        public void setData2View(int position) {
            LikeRecordBean.PageBean.ListBean listBean = getItem(position);
            /*
             * title
             */
            tvItemLikeRecordTitle.setText(StringUtils.getInstance().getNotEmptyMsg(listBean.fTitle));
            /*
             * cpver
             */
            Glide.with(context).load(ResourcesUtils.getInstance().getImagePath(listBean.fPicurl))
                    .apply(new RequestOptions()
                            .error(R.drawable.bg_place_holder_nine_five)
                            .placeholder(R.drawable.bg_place_holder_nine_five)
                            .transform(new CenterCrop(), new RoundedCorners(DimensionUtil.dpToPx(5))))
                    .into(ivItemLikeRecordCover);
            /*
             * play count
             */
            tvItemLikeRecordLook.setText(CountUtils.getInstance().getCount(listBean.fPlayTimes));
            /*
             *comment count
             */
            tvItemLikeRecordComment.setText(CountUtils.getInstance().getCount(listBean.fCommentTimes));
            /*
             * download count
             */
            tvItemLikeRecordDownloadCount.setText(CountUtils.getInstance().getCount(listBean.fDownloadTimes));
            tvItemLikeRecordDownloadCount.setOnClickListener(v -> DownloadUtils.getInstance().startDownload(context, listBean.fVideo, listBean.fId,
                    listBean.fTitle, listBean.fPicurl, listBean.fCreateTime, listBean.fPlayTimes, listBean.fCommentTimes, 0));
            /*
             * time
             */
            tvItemLikeRecordTime.setText(StringUtils.getInstance().getNotEmptyMsg(String.valueOf(listBean.fCreateTime)));
        }
    }
}
